<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- qdoc-manual-qdocconf.qdoc -->
  <title>Supporting Derived Projects | QDoc Manual 5.14.2</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.14</a></td><td ><a href="qdoc-index.html">QDoc Manual</a></td><td >Supporting Derived Projects</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qdoc-index.html">Qt 5.14.2 Reference Documentation</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
  <link rel="prev" href="24-qdoc-configuration-htmlvariables.html" />
  <link rel="next" href="26-qdoc-configuration-example-manifest-files.html" />
<p class="naviNextPrevious headerNavi">
<a class="prevPage" href="24-qdoc-configuration-htmlvariables.html">Format-specific Configuration Variables</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="26-qdoc-configuration-example-manifest-files.html">Example Manifest Files</a>
</p><p/>
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#description">description</a></li>
<li class="level1"><a href="#indexes">indexes</a></li>
<li class="level1"><a href="#project">project</a></li>
<li class="level1"><a href="#url">url</a></li>
<li class="level1"><a href="#url-examples">url.examples</a></li>
<li class="level1"><a href="#how-to-support-derived-projects">How to Support Derived Projects</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Supporting Derived Projects</h1>
<span class="subtitle"></span>
<!-- $$$25-qdoc-configuration-derivedprojects.html-description -->
<div class="descr"> <a name="details"></a>
<p>Some configuration variables allow you to use QDoc to support Qt-based projects. They allow your project to contain links to the online Qt documentation, which means that QDoc will be able to create links to the class reference documentation, without any explicit linking command.</p>
<a name="description-variable"></a><a name="description"></a>
<h2 id="description">description</h2>
<p>The description variable holds a short description of the associated project.</p>
<p>See also <a href="25-qdoc-configuration-derivedprojects.html#project">project</a>.</p>
<a name="indexes-variable"></a><a name="indexes"></a>
<h2 id="indexes">indexes</h2>
<p>The <code>indexes</code> variable lists the index files that will be used to generate references.</p>
<p>For example. to make a derived Qt project contain links to the Qt Reference documentation, you need to specify the associated index file:</p>
<pre class="cpp plain">

  indexes = $QTDIR/doc/html/qt.index

</pre>
<p>See also <a href="25-qdoc-configuration-derivedprojects.html#project">project</a> and <a href="25-qdoc-configuration-derivedprojects.html#url">url</a>.</p>
<a name="project-variable"></a><a name="project"></a>
<h2 id="project">project</h2>
<p>The <code>project</code> variable provides a name for the project associated with the <code>.qdocconf</code> file.</p>
<p>The project's name is used to form a file name for the associated project's <i>index</i> file.</p>
<pre class="cpp plain">

  project = QtCreator

</pre>
<p>This will cause an index file called <code>qtcreator.index</code> to be created.</p>
<p>See also <a href="25-qdoc-configuration-derivedprojects.html#description">description</a> and <a href="25-qdoc-configuration-derivedprojects.html#indexes">indexes</a>.</p>
<a name="url-variable"></a><a name="url"></a>
<h2 id="url">url</h2>
<p>The <code>url</code> variable holds the base URL for the reference documentation associated with the current project.</p>
<p>The URL is stored in the generated index file for the project. When we use the index on its own, QDoc will use this as the base URL when constructing links to classes, functions, and other things listed in the index.</p>
<pre class="cpp plain">

  project     = Qt
  description = Qt Reference Documentation
  url         = https://doc.qt.io/qt/

       ..&#x2e;

</pre>
<p>This makes sure that whenever <code>qt.index</code> is used to generate references to for example Qt classes, the base URL is <code>https://doc.qt.io/qt/</code>.</p>
<p>See also <a href="25-qdoc-configuration-derivedprojects.html#indexes">indexes</a> and <a href="25-qdoc-configuration-derivedprojects.html#url-examples">url.examples</a>.</p>
<a name="url-examples-variable"></a><a name="url-examples"></a>
<h2 id="url-examples">url.examples</h2>
<p>The <code>url.examples</code> variable holds the base URL for the examples associated with the current project.</p>
<p>If defined, a link to the example project directory is generated at the end of each example documentation page. The <code>url.examples</code> variable refers to the root directory of the examples related to this project; it can be a link to an online repository (starting with <i>http://</i> or <i>https://</i>), or to the local file system (<code>file://</code>).</p>
<p>If <code>url.examples</code> is not defined, QDoc will output a list of example's files and images instead.</p>
<p>For example, given these definitions:</p>
<pre class="cpp plain">

  url.examples = &quot;https://code.qt.io/cgit/qt/qtbase.git/tree/examples/&quot;
  examplesinstallpath = corelib

</pre>
<p>Then, for the following <a href="13-qdoc-commands-topics.html#example-command">\example</a> command:</p>
<pre class="cpp plain">

  /*!
      \example threads/semaphores
      ..&#x2e;
  */

</pre>
<p>QDoc generates a link to <code>https://code.qt.io/cgit/qt/qtbase.git/tree/examples/corelib/threads/semaphores</code>.</p>
<p>If the URL contains more components (for example, a query string) after the example path, \1 can be used as a placeholder for the path:</p>
<pre class="cpp plain">

  url.examples = &quot;https://code.qt.io/cgit/qt/qtbase.git/tree/examples/\1?h=$QT_VER&quot;
  examplesinstallpath = corelib

</pre>
<p>Given the same \example command as above and assuming that <code>$QT_VER</code> expands to <code>5.13</code>, the generated URL is <code>https://code.qt.io/cgit/qt/qtbase.git/tree/examples/corelib/threads/semaphores?h=5.13</code>.</p>
<p><code>url.examples</code> variable was introduced in QDoc version 5.13.</p>
<p>See also <a href="25-qdoc-configuration-derivedprojects.html#url">url</a>, <a href="qtgui-qdocconf.html#examplesinstallpath">examplesinstallpath</a>, and <a href="13-qdoc-commands-topics.html#example-command">\example</a>.</p>
<a name="howto"></a><a name="how-to-support-derived-projects"></a>
<h2 id="how-to-support-derived-projects">How to Support Derived Projects</h2>
<p>This feature makes use of the comprehensive indexes generated by QDoc when it creates the Qt reference documentation.</p>
<p>For example, <a href="21-2-qtgui-qdocconf.html">qtgui.qdocconf</a> (the configuration file for Qt) contains the following variable definitions:</p>
<pre class="cpp plain">

  project     = Qt
  description = Qt Reference Documentation
  url         = http://doc.qt.io/qt/

  ..&#x2e;

</pre>
<p>The <a href="25-qdoc-configuration-derivedprojects.html#project">project</a> variable name is used to form a file name for the index file; in this case the <code>qt.index</code> file is created. The <a href="25-qdoc-configuration-derivedprojects.html#url">url</a> is stored in the index file. Afterwards, QDoc will use this as the base URL when constructing links to classes, functions, and other things listed in the index.</p>
</div>
<!-- @@@25-qdoc-configuration-derivedprojects.html -->
<p class="naviNextPrevious footerNavi">
<a class="prevPage" href="24-qdoc-configuration-htmlvariables.html">Format-specific Configuration Variables</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="26-qdoc-configuration-example-manifest-files.html">Example Manifest Files</a>
</p>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
